Automatic Contact Information Detection

ABSTRACT

The present invention provides an originating user with a prioritized list of communication contacts associated with the various communication devices of a destination user, wherein the originating user will initiate communications with the destination user using one of the communication contacts provided in the prioritized list. Upon selecting a destination user, a request is sent to a service node, which includes rules for establishing the prioritized list based on various prioritization criteria. The prioritization criteria may include static information and dynamic information, such as time, day of the week, and date, as well as presence information bearing on the availability or location of the destination user. Information may be provided in the request corresponding to the originating user, the type of communication desired by the originating user, the relative priority of the communication, among other information, which may be used to create the prioritized list.

FIELD OF THE INVENTION

The present invention relates to communications, and in particular to allowing an originating user to identify contact information corresponding to the best way to communicate with another user.

BACKGROUND OF THE INVENTION

With the proliferation of different types of communication methods, it is growing more difficult to determine the best way to communicate with another. Telephony users are often associated with multiple telephony numbers, email addresses, instant messaging IDs, and pagers, just to name a few of the ways to communicate with users. In light of these different possible communication techniques, a person may have to initiate numerous calls, leave multiple voicemails, as well as send text messages, before successfully contacting or communicating with the intended user. If only voicemails or text messages are left, the contacted user may go through similar steps to return a call or respond to a voice or text message.

In an effort to make contacting users more efficient, presence systems are being developed that attempt to derive information indicative of the availability of a user and the best way to communicate with the user. These presence systems generally receive information from the user or from the user's communication devices to determine the best way to communicate with the user. Unfortunately, these systems are embryonic in their development, and have failed to present an effective way in which the user originating communications can access the presence information and initiate communications based thereon. Further, depending on the relative importance of the communication, whether the communication is for personal or business reasons, or based on a relative time and date, different types of communications may be desired by the originating user in different circumstances and at different times. Accordingly, there is a further need to provide the originator of communications a list of available communication techniques for communicating with the destination user, and perhaps, a priority in which these communication techniques should be used in light of the desires of the originating user and the destination user.

SUMMARY OF THE INVENTION

The present invention provides an originating user with a prioritized list of communication contacts associated with the various communication devices of a destination user, wherein the originating user will initiate communications with the destination user using one of the communication contacts provided in the prioritized list of communication contacts. Upon selecting a destination user, a request is sent to a service node, which includes rules for establishing the prioritized list of communication contacts based on various prioritization criteria. The prioritization criteria may include static information and dynamic information, such as time, day of the week, and date, as well as presence information bearing on the availability or location of the destination user. Based on the particular rules provided by the destination user, the prioritized list of communication contacts will be provided to the originating user upon receiving a request from the originating user. Information may be provided in the request corresponding to the originating user, the type of communication desired by the originating user, the relative priority of the communication, among other information. The prioritized list of communication contacts may be further based on information from the originating user.

Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.

FIG. 1 is a block representation of a communication environment according to one embodiment of the present invention.

FIGS. 2A and 2B provide a communication flow outlining the operation of an exemplary communication scenario according to one embodiment of the present invention.

FIG. 3 is a block representation of a service node according to one embodiment of the present invention.

FIG. 4 is a block representation of a multimedia client according to one embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.

The present invention allows an originating user to effectively determine a more appropriate way to communicate with a destination user in an efficient and effective manner. A service node will keep track of presence information for a destination user based on predefined rules, status information, or other information indicative of an appropriate way to communicate with the destination user, and use this presence information to provide the originating user with a prioritized list of communication contacts, which may be used to initiate communications with the destination user. When the originating user initiates communications from a multimedia client, a request is sent directly or indirectly to the service node to retrieve the prioritized list of communication contacts. The prioritized list of communication contacts may vary based on the presence information of the destination user, as well as the originating user, the relative priority of the communication, the type of communication, or other relevant information that the service node may use in creating the prioritized list of communication contacts. Depending on the capabilities of the multimedia client, various types of communications may be initiated from the multimedia client or by controlling another communication device, directly or indirectly via an associated service node. Thus, the multimedia client can simply provide the originating user a list of destination users, and when the contact icon for the desired destination user is selected, the prioritized list of communication contacts for that destination user is automatically retrieved and may be used to initiate a subsequent communication using the selected communication contact.

Prior to delving into the details of the present invention, an overview of an exemplary communication environment 10 is illustrated in FIG. 1. The communication environment 10 is centered around a Public Switched Telephone Network (PSTN) 12 and a packet-based data network 14. The PSTN 12 is associated with multiple wireline telephony switches 16 (A and B) capable of supporting circuit-switched communications. As illustrated, wireline telephony switch 16A may support a wireline telephony terminal 18, which is associated with an originating user, and wireline telephony switch 16B may support wireline telephony terminals 20 and 22, which are associated with one or more destination users. For the purposes of illustration, the originating user desires to initiate communications with one or more destination users.

For wireless communications, a wireless telephony switch 24, which is part of a cellular network, may be directly or indirectly coupled to the PSTN 12 and may support cellular communications with mobile clients, such as a mobile terminal 26 and a mobile personal digital assistant (PDA) 28 via a cellular network of base stations 30. A voicemail server 32 may be associated with wireline telephony switch 16B or the wireless telephony switch 24. Interworking between the PSTN 12, wireline telephony switches 16, and wireless telephony switches 24 and the data network 14 may be facilitated via one or more telephony gateways (GWs) 34 (A, B, and C). In addition to telephony terminal 18, the originating user may also have a multimedia client 36, such as a personal computer, which is capable of communicating over the data network 14 via a data access network 38A. Similarly, the destination user may have a multimedia client 40 capable of communicating over the data network 14 via a data access network 38B.

The multimedia clients 36, 40 will be able to initiate and conduct communications using various communication techniques. The multimedia clients 36 and 40 may have varying degrees of capabilities depending on implementation, but may facilitate voice sessions using Voice over Packet (VoP) technology, instant messaging, Short Message Service (SMS), Multimedia Message Service (MMS) (via a cellular network), email, videomail, or other audio, visual, or text communications. Further, certain embodiments will allow a media session involving multimedia client 36 to be associated with a telephony call facilitated via wireline telephony terminal 18. Multimedia client 40 may have similar capabilities with wireline telephony terminals 20, 22, mobile terminal 26, or PDA 28. The data network 14 may also support various communication servers, such as an email server 42, instant messaging (IM) server 44, and videomail server 46, wherein the respective servers will support email, instant messaging, and video conferencing or video storage for subsequent delivery or playback.

As noted, the destination user is associated with multiple communication devices, and when the originating user wants to contact the destination user, the present invention provides the originating user with a prioritized list of communication contacts for the destination user. To facilitate this service, one or more service nodes 48 (A and B) and optionally, a multimedia client database 50, are provided. The prioritized list of communication contacts for the destination user is generated by service node 48B, which supports the destination user. In operation, the multimedia client 36 for the originating user will generate a request for the prioritized list of communication contacts when the originating user provides an indication that the destination user is to be contacted. The request is sent to the service node 48A that supports the originating user. Service node 48A will then identify the service node 48B that supports the destination user, and form the request to supporting service node 48B. The requested list is then generated and fed back to multimedia client 36 via service node 48A.

The prioritized list of communication contacts may be based on any combination of static and dynamic variables. Depending on the sophistication of the presence system implemented by the service node 48B supporting the destination user, the destination user may provide a static order in which to prioritize communications directed to her. For example, the static list may indicate a priority as follows: wireline telephony terminal 22, email, mobile terminal 26, instant messaging, and wireline telephony terminal 20. The order of priority may change based on time, date, day of the week, identity of the originating user, and the like. Further, certain communication contacts may not be available based on any of the list of variables. Accordingly, the destination user can provide a profile, which dictates how the prioritized list of communication contacts can be created.

In more sophisticated embodiments, presence information may be received from the destination user, from one or more of the communication devices associated with the destination user, or a combination thereof, to provide service node 48B with a more accurate picture of the user's relative availability and location. Based on the availability, location, or a combination thereof, service node 48B will process this information in light of the destination user's profile to create the prioritized list of communication contacts. In addition to the presence information, the static information described above may also be taken into consideration to further customize the prioritization of the communication list. For static or dynamic embodiments, the destination user's profile may also take into consideration information provided in the request for the prioritized list. For example, the request may include the identity of the originating user, the relative urgency of the call, the type of call (personal or business), the originating user's preferred communication technique, and the like, to further control how the prioritized list of communication contacts is created.

In one embodiment, the prioritized list of communication contacts either is or includes the associated communication addresses that are associated with the communication contacts. The communication addresses may be Uniform (or Universal) Resource Locators (URLs), directory numbers, Internet Protocol (IP) addresses, Session Initiation Protocol (SIP) addresses, or any other circuit-switched or packet-based addressing indicia. Since the communication addresses are provided in the prioritized list of communication contacts, they may be used by the multimedia client 36 of the originating user to initiate, directly or indirectly, a communication to the destination user. In other embodiments, multimedia client 36 may be able to take an identifier of the communication contact and access a communication address for the communication contact.

For additional information on collecting and disseminating presence and related information, attention is directed to co-assigned U.S. patent application Ser. No. 10/079,237 filed Feb. 20, 2002 entitled TELEPHONY USAGE DERIVED PRESENCE INFORMATION, Ser. No. 10/100,703 filed Mar. 19, 2002 entitled MONITORING NATURAL INTERACTION FOR PRESENCE DETECTION; 10/101,286 filed Mar. 19, 2002 entitled CUSTOMIZED PRESENCE INFORMATION DELIVERY; Ser. No. 10/119,923 filed Apr. 10, 2002 entitled PRESENCE INFORMATION BASED ON MEDIA ACTIVITY; Ser. No. 10/119,783 filed Apr. 10, 2002 entitled PRESENCE INFORMATION SPECIFYING COMMUNICATION PREFERENCES; Ser. No. 10/247,591 filed Sep. 19, 2002 entitled DYNAMIC PRESENCE INDICATORS; and Ser. No. 10/331,706 filed Dec. 30, 2002 entitled PRESENCE ENABLED QUEUE MANAGEMENT, the disclosures of which are incorporated herein by reference in their entireties. For additional information regarding the interaction between multimedia clients 36 and 40, attention is directed to co-assigned U.S. patent application Ser. No. 10/006,942 filed Dec. 4, 2001 entitled COMPOSITE USER AGENT; and Ser. No. 10/036,247 filed Dec. 27, 2001 entitled PERSONAL USER AGENT, the disclosures of which are incorporated herein by reference in their entireties.

Turning now to FIGS. 2A and 2B, an exemplary communication flow is illustrated according to one embodiment of the present invention. Initially, assume that originating multimedia client 36 registers with its supporting service node 48A (step 100). The registration process may provide the information for the originating user, multimedia client 36, and any associated communication devices for the originating user. Also assume that the destination user has registered at supporting service node 48B, and provided the necessary information to configure the destination user's profile (step 102). At this point, service node 48B will have a profile established for the destination user. The registration and profile information will include the various communication devices for the destination user and the necessary information to create a prioritized list of communication contacts, which may include the communication addresses for the various communication devices. In the illustrated embodiment, service node 48B is configured to receive presence information corresponding to the relative availability or location of the destination user. For example, as the destination user moves from one location to another or chooses to use different communication devices from time to time, the presence information will be provided to service node 48B corresponding to such usage. In this example, presence information from the PDA 28 is initially provided to service node 48B to indicate that the destination user is using the PDA 28 (step 104). Next, presence information is received indicating the destination user is using the mobile terminal 26 (step 106), and finally, presence information is received indicating the destination user is using the wireline terminal 22 (step 108). As such, service node 48B will have the most recent availability or location based presence information for the destination user.

When the originating user needs to contact the destination user, she may access multimedia client 36 and select the destination user from a list of contacts (step 110). The selected contact is not a specific communication device or address for the destination user, but merely the destination user's identity. From the destination user's identity, the multimedia client 36 for the originating user will formulate a contact information request for the selected destination user (step 112). The contact information request is then sent to supporting service node 48A (step 114), which will determine whether it supports the destination user or needs to determine the identity of a service node that supports the destination user. In this embodiment, assume that service node 48B supports the destination user. As such, service node 48A supporting the originating user may access the multimedia client database 50 using the identity of the destination user to request the identity of the service node supporting the destination user (step 116). The multimedia client database 50 will access the identity of service node 48B and provide it to service node 48A (step 118). At this point, service node 48A supporting the originating user will forward the contact information request to service node 48B supporting the destination user (step 120). The service node 48B supporting the destination user will generate a prioritized contact list for the destination user based on static information, dynamic information, including information provided in the request, or a combination thereof in light of the destination user's profile (step 122), and provide the prioritized list of communication contacts to service node 48A (step 124), which will forward the prioritized list of communication contacts to origination multimedia client 36 (step 126).

Once the prioritized list of communication contacts is received, the multimedia client 36 for the originating user may display the prioritized list of communication contacts to the originating user (step 128), who will select from the prioritized list of communication contacts to initiate communication with the destination user. If the multimedia client 36 for the originating user is capable of initiating the type of communication desired by the destination user, the originating user may input a contact selection to multimedia client 36 (step 130), which will take the necessary steps to initiate the communication, be it an email, instant message, or telephone call. For example, service node 48A may be configured to initiate such communications, and as such, multimedia client 36 will send a communication request for the selected contact to service node 48A (step 132), which will initiate the communication (step 134). Alternatively, multimedia client 36 may be able to initiate the communication directly (step 136), such as initiating a packet-based telephony session, email, instant messaging session, or other communication session. In a less complex embodiment, the user may simply take the contact address associated with the selected communication contact and manually initiate the communication session.

A block representation of a service node 48 according to one embodiment of the present invention is illustrated in FIG. 3. The service node 48 will include a control system 52 having memory 54 sufficient to store software 56 capable of implementing the functionality described above. The control system 52 will also be associated with one or more communication interfaces 58 to facilitate communications with the multimedia clients 36, 40, other service nodes 48, the multimedia client database 50, and any other telephony or communication devices, such as the wireline telephony switches 16 and wireless telephony switch 24, to gather presence information, receive requests for prioritized lists, for those requests, and create prioritized lists of communication contacts. Those skilled in the art will recognize other functionalities supported by the service nodes 48 to effectively and efficiently implement the present invention.

A block representation of a generic multimedia client, such as multimedia client 36 or 40, is illustrated in FIG. 4. The multimedia client may take the form of any type of personal computing device ranging from a personal digital assistant to a desktop personal computer, and will generally include a control system 60 with memory 62 sufficient to store software 64, which is capable of implementing the functionality described above. The control system 60 will be associated with one or more communication interfaces 66 to communicate directly or indirectly with the service node 48 and any other communication devices.

Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow. 

1-29. (canceled)
 30. A method comprising: a multimedia client transmitting a request to initiate communications with a destination user from an originating user; the multimedia client receiving a prioritized list of communication methods for communicating with the destination use; upon receipt of the prioritized list of communication methods, the multimedia client receiving user input selecting one of the communication methods in the prioritized list of communication contacts; and the multimedia client transmitting a request to communicate with the destination user using the selected communication method.
 31. The method of claim 30, wherein, in response to the request to initiate communications with the destination user, a service node is configured to create the prioritized list of communication methods.
 32. The method of claim 30, wherein said transmitting is performed in response to receiving user input selecting the destination user in a user interface of the multimedia client.
 33. The method of claim 30, wherein the prioritized list is created based on rules received from the destination user.
 34. The method of claim 30, wherein the prioritized list of communication methods is created in a dynamic fashion.
 35. The method of claim 30, wherein the prioritized list of communication methods is based on an availability or location of the destination user.
 36. The method of claim 30, wherein the prioritized list of communication methods is based on at least one of time, date, or day of week.
 37. A system, comprising: communication circuitry, wherein the communication circuitry is configured to communicate with at least a communication network; and processing hardware coupled to the communication circuitry, wherein the processing hardware and the communication circuitry are configured to operate together to: transmit a request to initiate communications with a destination user from an originating user; receive a prioritized list of communication methods for communicating with the destination use; upon receipt of the prioritized list of communication methods, receiving user input selecting one of the communication methods in the prioritized list of communication contacts; and transmit a request to communicate with the destination user using the selected communication method.
 38. The system of claim 37, wherein, in response to the request to initiate communications with the destination user, a service node is configured to create the prioritized list of communication methods.
 39. The system of claim 37, wherein said transmitting is performed in response to receiving user input selecting the destination user in a user interface of the system.
 40. The system of claim 37, wherein the prioritized list is created based on rules received from the destination user.
 41. The system of claim 37, wherein the prioritized list of communication methods is created in a dynamic fashion.
 42. The system of claim 37, wherein the prioritized list of communication methods is based on an availability or location of the destination user.
 43. The system of claim 37, wherein the prioritized list of communication methods is based on at least one of time, date, or day of week.
 44. A non-transitory, computer accessible memory medium storing program instructions executable by a processor of a multimedia client to: transmit a request to initiate communications with a destination user from an originating user; receive a prioritized list of communication methods for communicating with the destination use; upon receipt of the prioritized list of communication methods, receive user input selecting one of the communication methods in the prioritized list of communication contacts; and transmit a request to communicate with the destination user using the selected communication method.
 45. The non-transitory, computer accessible memory medium of claim 44, wherein, in response to the request to initiate communications with the destination user, a service node is configured to create the prioritized list of communication methods.
 46. The non-transitory, computer accessible memory medium of claim 44, wherein said transmitting is performed in response to receiving user input selecting the destination user in a user interface of the multimedia client.
 47. The non-transitory, computer accessible memory medium of claim 44, wherein the prioritized list is created based on rules received from the destination user.
 48. The non-transitory, computer accessible memory medium of claim 44, wherein the prioritized list of communication methods is created in a dynamic fashion.
 49. The non-transitory, computer accessible memory medium of claim 44, wherein the prioritized list of communication methods is based on an availability or location of the destination user. 